package vip.kqsy.cloud.blog.server.service;

import com.baomidou.mybatisplus.extension.service.IService;
import vip.kqsy.cloud.blog.server.pojo.dto.BlogInfoAddDTO;
import vip.kqsy.cloud.blog.server.pojo.dto.BlogInfoUpdateDTO;
import vip.kqsy.cloud.blog.server.pojo.dto.ListBlogInfoDTO;
import vip.kqsy.cloud.blog.server.pojo.dto.PageBlogInfoDTO;
import vip.kqsy.cloud.blog.server.pojo.entity.BlogInfo;
import vip.kqsy.cloud.blog.server.pojo.vo.*;
import vip.kqsy.cloud.core.web.res.ResPage;

import java.util.List;

/**
 * <p>
 * 博客表 服务类
 * </p>
 *
 * @author cenjunjie
 * @since 2023-05-03
 */
public interface BlogInfoService extends IService<BlogInfo> {

    ResPage<PageBlogInfoVO> page(PageBlogInfoDTO dto);

    void add(BlogInfoAddDTO dto);

    void update(BlogInfoUpdateDTO dto);

    BlogInfoDetailVO detail(Long id);

    ResPage<ListBlogInfoVO> list(ListBlogInfoDTO dto);

    BlogInfoViewVO view(Long id, Long userId);

    List<ArchiveVO> archive();

    List<ListInteractiveBlogVO> listInteractive(Integer type, Long userId);

}
